<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>键盘事件</title>
        <script type="text/javascript" src="../../js/vue.js"></script>
    </head>
    <body>

       <!-- 1.Vue中常用的按键别名
                回车——enter
                删除——delete  删除和退格
                退出——esc
                空格——space
                换行——tab   想要按下tab键调用方法，不能用keyup，要用keydown，因为tab按下是当前焦点，松开就失去了焦点
                上——up 下——down 左——left  右——right 
            2.Vue未提供别名的按键，可以使用按键原始的key值去绑定，但注意要转为kebab-case(短横线命名)
            3.系统修饰键（用法特殊）：ctrl、alt、shift、meta（win键）
                (1)配合keyup使用：按下的同时，再按下其他键，随后释放其他键，事件才被触发。例如@keyup.ctrl="showInfo"，按下ctrl+1，松开1，执行showInfo方法
                (2)配合keydown使用：正常触发事件
            4.也可以使用keyCode去指定具体的键名（不推荐）。例如@keyup.13="showInfo"
            5.Vue.config.keyCodes.自定义键名 = 键码，可以去定制按键名  -->
        <div id ="root">
            <h1>欢迎来到{{name}}学习</h1>
            <!-- keydown-键盘按下就触发  keyup-键盘松开触发 -->
            <input type="text" placeholder="按下回车提示输入" @keyup.enter="showInfo">
            <br/>
            <!-- 同时按下两个键执行 -->
             <span>============================</span>
             <br/>
            <input type="text" placeholder="按下ctrl+y提示输入" @keyup.ctrl.y="showInfo">
        </div>

        <script type="text/javascript">
            Vue.config.productionTip = false
            Vue.config.keyCodes.huiche = 13 //定义了一个别名按键

            const vm = new Vue({
                el:'#root',
                data:{
                    name:'课堂'
                },
                methods:{
                    showInfo(e){
                        //console.log(e.key)//打印键盘名
                        //console.log(e.keyCode) //打印键盘编码
                        //键盘编码==13，也就是按下了回车--打印
                        // if(e.keyCode == 13){
                        //     console.log(e.target.value)
                        // }
                        console.log(e.target.value)
                        
                    }
                }
            })
           
        </script>

        
    </body>
</html>